// node后端服务器
// const http = require('http');
const bodyParser = require('body-parser');
const express = require('express')

const DBHelper = require('./utils/DBHelper')
const router = express.Router()

// let conn = new DBHelper().getConn()


let app = new express()

// 加入解析json跨域模块的中间件,加()表示去使用它
// 图形验证码使用session ，不指定域名 ，跨域会导致内存session丢失
app.use(require('cors')({
  origin: "http://localhost:8080",
  credentials: true
}))
// let server = http.createServer(app)



// 定义cookie解析器开始
const cookieParser = require('cookie-parser')
const session = require('express-session')
app.use(cookieParser())
app.use(session({
  secret: 'secret', // 对session id 相关的cookie 进行签名
  resave: true,
  saveUninitialized: false,  // 是否保存未初始化的会话
  cookie: {
    maxAge: 1000 * 60 * 3, // 设置 session 的有效时间，单位毫秒
  }
}))
// 定义cookie解析器结束

// 解析 application/json
app.use(bodyParser.json())
// 解析 url编码
app.use(bodyParser.urlencoded({
  extended: true
}))

//静态文件托管后面的'/'不能写成 './' 
console.log(__dirname)
app.use('/uploads', express.static(__dirname + '/uploads'))

// 后端api路由
const userApi = require('./api/userApi')
const rest = require('./api/rest')
const resourceMiddleware = require('./Middleware/resource');
app.use('/api/rest/:resource', resourceMiddleware(), rest)
app.use('/api/user/', userApi)

// 启动监听
app.listen(3000, () => {
  console.log('success!! port: 3000')
})